package com.qaml.mes.device.domain.convert;

import com.qaml.mes.device.dao.EqpInfoDO;
import com.qaml.mes.device.dto.eqp.EqpInfoDTO;
import com.qaml.mes.device.dto.eqp.EqpInfoListDTO;
import com.qaml.mes.device.vo.eqp.EqpInfoListVO;
import com.qaml.mes.device.vo.eqp.EqpInfoVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * @ClassName EqpInfoConvert
 * @Description 设备信息转换
 * @Author leikai
 * @Date 2024/2/27 0027 10:58
 * @Version 1.0
 */
@Mapper
public interface EqpInfoConvert {

    EqpInfoConvert INSTANCE = Mappers.getMapper(EqpInfoConvert.class);

    EqpInfoDO saveDTO(EqpInfoDTO eqpInfoDTO);

    EqpInfoDO listDO2DTO(EqpInfoListDTO eqpInfoListDTO);

    /**
     * DO转换为VO  列表页面
     *
     * @param eqpInfoDO
     * @return
     */
    EqpInfoListVO listDO2VO(EqpInfoDO eqpInfoDO);

    /**
     * DO集合转换为VO集合  列表页
     *
     * @param records
     * @return
     */
    List<EqpInfoListVO> listDOs2VOs(List<EqpInfoDO> records);

    /**
     * DO转换为VO
     *
     * @param eqpInfoDO
     * @return
     */
    EqpInfoVO do2VO(EqpInfoDO eqpInfoDO);

    /**
     * DO集合转换为VO集合
     *
     * @param records
     * @return
     */
    List<EqpInfoVO> dos2VOS(List<EqpInfoDO> records);
}